PHLEGM v9 - Revision r9 - Named-capture definition grammar integration
===================================================================
Baseline: PHLEGM v9 Revision r8 (PCRE2 Manifest StrictMode)

Implementation
--------------
* cfg/grammar/definition-rows.config.phlegm now provides local, data-driven
  PCRE2 grammars for register, flag, opcode and firmware records.
* A shared definition-parser.bi compiles each grammar once at parser setup,
  then recognizes each runtime definition row through the compiled pattern.
* Named capture byte offsets are exported as raw JSON-number values in AA:
  named.NAME.start and named.NAME.end (zero-based, end-exclusive).
  DefinitionRecordField slices the source text using those offsets, without
  losing punctuation or altering URL query parameters.
* Registers and flags: full three-column records, including numerical syntax.
* Opcodes: full metadata with classification, mnemonic, addressing mode,
  optional semantic key, and multi-byte/wildcard opcode support.
* Firmware: full nine-column records plus optional tenth CPU scope.
  Semicolon-separated filename/CRC choices and URL punctuation remain intact.
* Firmware and chipset semantic rules remain in their original PHLEGM loaders.
  The generic regex.lib is not a PHLEGM/CPU-specific grammar engine.
* AA retains its embedded FBVM; the existing regex.test FBVM assignment-key
  policy is preserved. No additional FBVM engine was introduced.
* Grammar initialization verifies named-capture fields with canonical examples;
  invalid and incomplete present grammar files produce explicit errors.
  Older distributions with no grammar file use built-in defaults.
* Parser compilation occurs at startup/definition loading, never per CPU step.
  Machine-specific microcode remains compiled at machine load/restore only.
* Existing public assignment/delimiter parsing remains for other formats.

Validation completed in the preparation environment
---------------------------------------------------
PCRE2 8-bit native shared library compiled all four exact config patterns,
and matched actual non-comment records from the provided r8 data:
  Registers:   138 / 138
  Flags:        74 / 74
  Opcodes:  13,958 / 13,958
  Firmware:    185 / 185
  Total:    14,355 / 14,355
No regex mismatch found among these real-file records.

Native FreeBASIC compiler not installed in this environment; the new
FreeBASIC smoke tests were added but not executed here. Compile and run them
on Windows/Linux with the existing shared toolchain (and PCRE2 runtime):
  Linux:   bash tools/Compile-AA-Regex.sh
  Windows: tools/Compile-AA-Regex.ps1 -FreeBasic <path-to-fbc.exe>
The smoke covers named offsets, classifications, wildcard opcode records,
firmware nine/tenth column, URL punctuation, failure cases, and FBVM keys.

Configuration schema
--------------------
The file cfg/grammar/definition-rows.config.phlegm contains one
"name=PCRE2 expression" entry each for register, flag, opcode, firmware.
All four must exist. Do not rename the documented named capture groups.
Additional field-specific numeric bounds, duplication checks, opcode
classification counts, machine models and firmware allocation rules remain
PHLEGM-specific semantic responsibilities.

Limitations / next coverage
---------------------------
Other complex .phlegm formats (microcode scripts, instruction semantics,
addressing modes, memory maps, etc.) still use their established loaders.
Definition grammar overrides are startup-loaded from local cfg only; remote
networking does not currently distribute this global schema file.
